A number of different technologies have been developed to store information in computing devices. Generally, the technologies can be classified as either volatile or nonvolatile. Volatile memory loses its state when power is interrupted to the device, whereas nonvolatile storage maintains its state even if power is interrupted. Access to nonvolatile storage has traditionally been much slower than access to volatile memory. The interfacing technologies also vary significantly, and are generally incompatible. Development of new storage and memory technologies has generally been accompanied by new interface hardware and protocols. Thus, each different technology has traditionally required a redesign of the physical interface mechanisms of a computing device.
As mentioned above, access to nonvolatile storage traditionally has been considered very slow relative to access to volatile memory. Thus, read and write commands take longer to implement in traditional nonvolatile storage than in volatile memory. The assumptions about speed and access to nonvolatile storage has been integrated into the design of computing devices, where read and write commands are send to storage, and the processor waits a relatively “long” time for the response as compared to access to volatile memory. Additionally, technology such as direct memory access (DMA) is based on the assumptions of the speed of storage access.
Descriptions of certain details and implementations follow, including a description of the figures, which may depict some or all of the embodiments described below, as well as discussing other potential embodiments or implementations of the inventive concepts presented herein. An overview of embodiments of the invention is provided below, followed by a more detailed description with reference to the drawings.